An ever-increasing amount of sensitive data and confidential information is being stored electronically, such on a disk drive of a client device, in a database hosted by a remote party, or in another such location. The amount of transmission of such data is increasing as well. Accordingly, there is a need to ensure that only authorized parties have access to the data. Various approaches have been used to attempt to prevent unauthorized access to data, such as through use of data encryption and secure communication channels. In many cases, these mechanisms are not flexible enough to enable users with multiple security permissions to concurrently access data with different security levels. Further, there is difficulty in controlling what a party does with secure information once that information is accessed. The difficulty can be increased in situations such as a multi-tenant environment, where multiple users might be provisioned on the same physical device or have access to the same database.